/* 
 * Gneat (http://gneat.org)
 *
 * (C) Copyright 2011 and beyond - Claudio Stella, all rights reserved.
 *
 * This file is part of Gneat.
 *
 * Gneat is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License (LGPL)
 * as published by the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Gneat is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * and the GNU General Public License, for completeness, along with Gneat.  
 * If not, see <http://www.gnu.org/licenses/>.
 */
package org.neatshell.gneat.client;

import org.neatshell.gneat.client.presenter.html.APresenter;
import org.neatshell.gneat.client.presenter.html.BodyPresenter;
import org.neatshell.gneat.client.presenter.html.DivPresenter;
import org.neatshell.gneat.client.presenter.html.FormPresenter;
import org.neatshell.gneat.client.presenter.html.HeadPresenter;
import org.neatshell.gneat.client.presenter.html.HtmlPresenter;
import org.neatshell.gneat.client.presenter.html.IFramePresenter;
import org.neatshell.gneat.client.presenter.html.ImgPresenter;
import org.neatshell.gneat.client.presenter.html.RootBodyPresenter;
import org.neatshell.gneat.client.presenter.html.RootHeadPresenter;
import org.neatshell.gneat.client.presenter.html.RootHtmlPresenter;
import org.neatshell.gneat.client.presenter.html.SpanPresenter;
import org.neatshell.gneat.client.presenter.html.TablePresenter;
import org.neatshell.gneat.client.presenter.html.form.FieldSetPresenter;
import org.neatshell.gneat.client.presenter.html.form.LabelPresenter;
import org.neatshell.gneat.client.presenter.html.form.LegendPresenter;
import org.neatshell.gneat.client.presenter.html.form.SelectPresenter;
import org.neatshell.gneat.client.presenter.html.form.TextareaPresenter;
import org.neatshell.gneat.client.presenter.html.form.button.PushButtonPresenter;
import org.neatshell.gneat.client.presenter.html.form.button.ResetButtonPresenter;
import org.neatshell.gneat.client.presenter.html.form.button.SubmitButtonPresenter;
import org.neatshell.gneat.client.presenter.html.form.input.InputButtonPresenter;
import org.neatshell.gneat.client.presenter.html.form.input.InputCheckboxPresenter;
import org.neatshell.gneat.client.presenter.html.form.input.InputFilePresenter;
import org.neatshell.gneat.client.presenter.html.form.input.InputHiddenPresenter;
import org.neatshell.gneat.client.presenter.html.form.input.InputImagePresenter;
import org.neatshell.gneat.client.presenter.html.form.input.InputPasswordPresenter;
import org.neatshell.gneat.client.presenter.html.form.input.InputRadioPresenter;
import org.neatshell.gneat.client.presenter.html.form.input.InputResetPresenter;
import org.neatshell.gneat.client.presenter.html.form.input.InputSubmitPresenter;
import org.neatshell.gneat.client.presenter.html.form.input.InputTextPresenter;
import org.neatshell.gneat.client.presenter.html.form.select.OptgroupPresenter;
import org.neatshell.gneat.client.presenter.html.form.select.OptionPresenter;
import org.neatshell.gneat.client.presenter.html.list.LiPresenter;
import org.neatshell.gneat.client.presenter.html.list.UlPresenter;
import org.neatshell.gneat.client.presenter.html.table.CaptionPresenter;
import org.neatshell.gneat.client.presenter.html.table.ColPresenter;
import org.neatshell.gneat.client.presenter.html.table.ColgroupPresenter;
import org.neatshell.gneat.client.presenter.html.table.TbodyPresenter;
import org.neatshell.gneat.client.presenter.html.table.TdPresenter;
import org.neatshell.gneat.client.presenter.html.table.TfootPresenter;
import org.neatshell.gneat.client.presenter.html.table.ThPresenter;
import org.neatshell.gneat.client.presenter.html.table.TheadPresenter;
import org.neatshell.gneat.client.presenter.html.table.TrPresenter;

public interface HtmlInjector {	
	HtmlPresenter.IView getHtmlView();
	HeadPresenter.IView getHeadView();
	BodyPresenter.IView getBodyView();

	RootHtmlPresenter.IView getRootHtmlView();
	RootHeadPresenter.IView getRootHeadView();
	RootBodyPresenter.IView getRootBodyView();
	
	//html4
	APresenter.IView getAView();
	DivPresenter.IView getDivView();
	
	//html4.table
	CaptionPresenter.IView getCaptionView();
	ColgroupPresenter.IView getColGroupView();
	ColPresenter.IView getColView();
	//html4.form
	FieldSetPresenter.IView getFieldSetView();
	FormPresenter.IView getFormView();
	IFramePresenter.IView getIFrameView();
	ImgPresenter.IView getImgView();

	//html4.form.input
	InputButtonPresenter.IView getInputButtonView();
	InputCheckboxPresenter.IView getInputCheckBoxView();
	InputFilePresenter.IView getInputFileView();
	InputHiddenPresenter.IView getInputHiddenView();
	InputImagePresenter.IView getInputImageView();

	InputPasswordPresenter.IView getInputPasswordView();
	InputRadioPresenter.IView getInputRadioView();
	InputResetPresenter.IView getInputResetView();

	InputSubmitPresenter.IView getInputSubmitView();
	InputTextPresenter.IView getInputTextView();
	LabelPresenter.IView getLabelView();
	LegendPresenter.IView getLegendView();
	LiPresenter.IView getLiView();
	//html4.form.select
	OptgroupPresenter.IView getOptGroupView();
	OptionPresenter.IView getOptionView();
	//html4.form.button	
	PushButtonPresenter.IView getPushButtonView();
	ResetButtonPresenter.IView getResetButtonView();
	SelectPresenter.IView getSelectView();

	SpanPresenter.IView getSpanView();
	SubmitButtonPresenter.IView getSubmitButtonView();
	
	TablePresenter.IView getTableView();
	TbodyPresenter.IView getTBodyView();
	TdPresenter.IView getTdView();
	TextareaPresenter.IView getTextAreaView();
	TfootPresenter.IView getTFootView();
	TheadPresenter.IView getTHeadView();
	ThPresenter.IView getThView();
	TrPresenter.IView getTrView();
	UlPresenter.IView getUlView();
}